using System;
using System.Collections.Generic;
using System.Text;
using Mentrixmax.Comuns.Entidades.Interface;

namespace Entidades
{
    public class TabelaEntidades:IEntidade
    {
        private bool PFormulario;

        public bool Fomulario
        {
            get { return PFormulario; }
            set { PFormulario = value; }
        }

        private bool PConsultaAvancada;

        public bool ConsultaAvancada
        {
            get { return PConsultaAvancada; }
            set { PConsultaAvancada = value; }
        }

        private bool PNegocio;

        public bool Negocio
        {
            get { return PNegocio; }
            set { PNegocio = value; }
        }

        private bool PEntidade;

        public bool Entidade
        {
            get { return PEntidade; }
            set { PEntidade = value; }
        }

        private bool PDAO;

        public bool DAO
        {
            get { return PDAO; }
            set { PDAO = value; }
        }



        private String PColunaChave;

        public String ColunaChave
        {
            get {
                if (this.Colunas == null || this.Colunas.Count == 0)
                {
                    return "";
                }
                else {
                    foreach (ColunasEntidade var in Colunas)
                    {
                        if (var.IsChave.HasValue) {
                            if (var.IsChave.Value)
                            {
                                return var.NomeColuna;
                            }
                        }
                    }
                    return "";
                }
            }
            
        }

        #region IEntidade Members

        public int? PSequencial;
        public int? Sequencial
        {
            get
            {
                return PSequencial;
            }
            set
            {
                PSequencial = value;
            }
        }

        public string Chave
        {
            get { return PSequencial.ToString(); }
        }

        public string DescricaoCombo
        {
            get { return PSequencial.ToString(); }
        }

        #endregion

        private IList<ColunasEntidade> PColunas;

        public IList<ColunasEntidade> Colunas
        {
            get { return PColunas; }
            set { PColunas = value; }
        }


        private String PNome;

        public String NomeTabela
        {
            get { return PNome; }
            set { PNome = value; }
        }
        public override string ToString()
        {
            return NomeTabela;
        }
    }
}
